<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Activity_model extends Xt_model {

	protected $mTable = 'activity';
    var $usertype = array(2,3,4,5,6);//可以发布通告的用户类型

	public function get_info_by_id($id, $fields='*')
	{
		return $this->get_by_id($id, $fields);
	}

    /** 取得多通告信息根据机构id
     * @param $userid 用户id
     * @param $files 字段
     * @return $db_temp 数据集 (二维数组)
     */
    public function get_acts_by_userid($userid, $fields = "*")
    {
        $db_temp = $this->db->select($fields)
            ->from($this->mTable)
            ->where('userid', $userid)
            ->get()
            ->result_array();
        return $db_temp;
    }

    /** 更新通告状态 通过 用户id
     * @param $users 用户id(一维数组)
     * @param $files 字段
     * @return $db_temp 数据集 (二维数组)
     */
    public function update_info_by_userid($userid, $fields = "*")
    {
        $db_temp = $this->db->select($fields)
            ->from($this->mTable)
            ->where('userid', $userid)
            ->get()
            ->result_array();
        return $db_temp;
    }

    /**
     * 对xt_model父类原方法进行重载
     * 原因是需要过滤 已经删除 或 已经暂停 的用户
    */
    public function fetch_page($page=1, $pagesize=10, $where=array(), $fields='*', $order_by='', $tb = '') {
        //取得当前访问的控制器,管理后台(admin) 和 个人中心(m) 层不需要做过滤
        $controller = $this->uri->segment(1, 0);
        if (!in_array($controller,array('admin','m'))){
            $this->load->model('User_model');
            //只需要筛选出能发布通告的用户
            $this->db->where_in('usertype',$this->usertype);
            if ($uidlist = $this->User_model->get_unshow_users('all',true)){
                //增加用户过滤的条件
                $this->db->where_not_in('userid',$uidlist);
            }
        }
        return parent::fetch_page($page, $pagesize, $where,$fields, $order_by,$tb);
    }

}